1. Field of the Invention
The present invention relates generally to a data acquisition system, and more particularly, to a system and method for interfacing a data acquisition device to a host device via a plurality of interfaces.
2. Description of the Related Art
Various types of data acquisition devices exist which allow a user to collect and transmit data to a host computing device. Data acquisition devices may be terminals, with keypad entry means and a display. In addition, data acquisition devices may be bar code scanners in a stand alone configuration or integrated with a terminal. Various types of bar code scanning devices are known in the art which optically scan a bar code printed on a substrate for capture of data encoded in the bar code. Laser bar code scanning devices use a laser light source such as a visible laser diode to scan the bar code by sweeping the laser source across the bar code with a mechanically oscillating reflecting element such as a mirror. The light reflected from the bar code is collected by a photosensor directly from the bar code or retroreflectively off of a portion of the scanning mirror. The analog waveform output by the photosensor has an amplitude which represents the amount of laser light reflected off the bar code. Thus, the varying amplitude of the analog waveform represents the relative spacing of the various bars and spaces of the bar code, which in turn represents the data encoded therein. The analog signal is processed, digitized and decoded into data representative of that which had been encoded into the target bar code.
Bar code scanning devices are also known in the art which are based on solid state imagers such as charge coupled devices (CCDs). CCD based bar code readers are either one-dimensional or two-dimensional. One-dimensional CCD bar code scanners use a linear array of photosensors to capture an image of a cross section of the entire linear bar code at once and produce an analog waveform whose amplitude is representative of the darkness and lightness of the bars and spaces of the captured image. The electric charge stored in each element of the CCD array as a function of the amount of light sensed by an area covered by each element is shifted out serially to form electric signals for further processing, digitizing and decoding. Two dimensional CCD bar code readers operate similarly to capture an image of an entire two-dimensional bar code symbol at once and process it accordingly. The waveform is digitized and decoded in a means similar to laser scanners.
The decoded signals are typically transmitted to a host device for processing, storage, and the like. Many types of host devices exist, depending on the particular application desired by the user. For example, scanners are used at POS cash register terminals to scan in the bar code of a product, where the terminal uses the bar code data as a pointer to look up the price and item description in memory. Scanners are also used to interface to personal computers with keyboard wedges, where the scanner is inserted in the path between the keyboard and the computer, and the scanner input must be configured to appear the same to the computer as keyed input from the keyboard. Scanners are also used to drive RS-232 computer interfaces in other applications.
In most cases, each different type of host device implements a different type of input/output interface, thus requiring different mechanical connectors, different electrical and data formats and protocols, etc. depending on the user's application. Prior art devices were thus usually configured by the manufacturer to interface with one or more host devices. This custom type of scanner-host device matching is costly and inefficient.
In U.S. Pat. No. 5,258,604, a system is suggested which implements a bar code scanning device which is configured to accept any of a plurality of differently configured interface boards in its handle, wherein each type of interface board is specially adapted to mate with an associated host device. The decoder in the scanner polls the interface board upon power-up and reads an identification code from the particular interface board which the user has inserted. The identification code is used by the decoder to access configuration and formatting data from an on-board memory in order to transmit data to the interface board and ultimately to the host device in the required manner. This requires a user to have to swap electrical boards inside the scanner device whenever he desires to use the scanner with a different host device, which is unwieldy and potentially damaging to the boards due to electrostatic discharge (ESD) phenomena. In addition, when a new type of host device is desired to be used with a scanner already in use in the field, the scanner must be physically reconfigured in order to be able to recognize a new identification code from a new type of interface board and to properly format the decoded data for transfer to the new type of host device.
It is also desired in the field of data acquisition such as bar code scanning to be able to use a particular data acquisition device with different host devices at different times by simply connecting the data acquisition device to the host device in a “plug and play” environment, without having to physically reconfigure the data acquisition device with different internal interface boards as in the prior art. This may occur, for example, with a data acquisition device that is used to scan bar codes during the daytime at a POS terminal, and then is used at night time for inventory collection purposes in a storage room with a different host device.